#ifndef DATASOURCE_H
#define DATASOURCE_H

#include <QtCore>
#include <QtSql>

class DataSource
{
public:
    DataSource();
    
    void addTable(const QString& table, bool indexed = false);
    void addColumn(const QString& table, const QString& column);
    void addRow(const QString& table, const QMap<QString, QString>& values, bool indexed = false);
    void addUpdateRow(const QString& table, const QMap<QString, QString>& values);
    
    QMap<QString, QString> getRow(const QString& table, const QMap<QString, QString>& constraints);
	
	QVector<int> eventNumbersForQuery(const QString& queryDescription);
	
	void fetchDataForEventNr(int eventNr, QMap<QString, QString>& out);
    
public:
    QMap<QString, QVector<QString> > tables;

private:
    QSqlDatabase db;
};

#endif // DATASOURCE_H
